Tapestry এর Validation Framework

Web Development - অ্যাপাচি ট্যাপেস্ট্রি (Apache Tapestry) - Tapestry এর ফর্ম এবং Validation |
2
2

Apache Tapestry একটি শক্তিশালী Validation Framework সরবরাহ করে, যা ফর্মের ইনপুট ডেটার বৈধতা যাচাই করতে সাহায্য করে। এটি ডেভেলপারদেরকে data validation সহজে এবং কার্যকরভাবে প্রয়োগ করতে সহায়তা করে। Tapestry-এর ভ্যালিডেশন ফ্রেমওয়ার্কটি অ্যানোটেশন-বেসড ভ্যালিডেশন, কাস্টম ভ্যালিডেশন রুলস, এবং ব্যবহারকারী বান্ধব ত্রুটি বার্তা সমর্থন করে।

এই ফ্রেমওয়ার্কটি server-side validation সম্পাদন করে, তবে আপনি ক্লায়েন্ট-সাইড ভ্যালিডেশনও প্রয়োগ করতে পারেন যদি চান। Tapestry-এর built-in ভ্যালিডেশন অ্যানোটেশনগুলি ডাটা ভ্যালিডেশন এবং ফিল্ডের মধ্যে সম্পর্ক সরল ও স্বচ্ছ করে।


Tapestry ভ্যালিডেশন ফ্রেমওয়ার্কের বৈশিষ্ট্য

  1. Built-in Validation Annotations Tapestry কিছু সাধারণ ভ্যালিডেশন অ্যানোটেশন সরবরাহ করে, যা ফিল্ডের মান যাচাই করতে ব্যবহৃত হয়।
  2. Custom Validation Tapestry আপনাকে কাস্টম ভ্যালিডেশন রুলস তৈরি করার সুযোগ দেয়। আপনি আপনার নিজস্ব লজিক অনুসারে ভ্যালিডেশন রুলস তৈরি করতে পারেন।
  3. Error Handling and Messages Tapestry-এর ফ্রেমওয়ার্ক অটোমেটিকভাবে ফর্ম ইনপুট ভ্যালিডেশন ত্রুটির বার্তা দেখায় এবং আপনি কাস্টম ত্রুটি বার্তা ব্যবহার করতে পারেন।

Tapestry ভ্যালিডেশন অ্যানোটেশন

Tapestry এর বিভিন্ন ভ্যালিডেশন অ্যানোটেশন রয়েছে, যা সহজেই প্রপার্টি বা ফিল্ডের জন্য ব্যবহার করা যেতে পারে।

  1. @Required

    • একটি ফিল্ডের জন্য @Required অ্যানোটেশন ব্যবহার করা হয়, যা ইনপুট ফিল্ডটি অবশ্যই পূর্ণ করতে হবে।

    উদাহরণ:

    @Property
    @Required(message = "Username is required")
    private String username;
    
  2. @Length

    • @Length অ্যানোটেশন ব্যবহার করে একটি স্ট্রিংয়ের জন্য মিনিমাম এবং ম্যাক্সিমাম দৈর্ঘ্য নির্ধারণ করা যায়।

    উদাহরণ:

    @Property
    @Length(min = 5, max = 20, message = "Username must be between 5 and 20 characters")
    private String username;
    
  3. @Email

    • একটি ইমেল ফিল্ডের জন্য @Email অ্যানোটেশন ব্যবহার করা হয়, যা ফিল্ডের মান একটি বৈধ ইমেল ঠিকানা কিনা তা যাচাই করে।

    উদাহরণ:

    @Property
    @Email(message = "Please enter a valid email address")
    private String email;
    
  4. @Pattern

    • @Pattern অ্যানোটেশন ব্যবহার করে আপনি একটি নির্দিষ্ট প্যাটার্নে ইনপুট ডেটা যাচাই করতে পারেন, যেমন নম্বর, ফোন নম্বর ইত্যাদি।

    উদাহরণ:

    @Property
    @Pattern(regexp = "\\d{10}", message = "Phone number must be 10 digits")
    private String phoneNumber;
    
  5. @Range

    • @Range অ্যানোটেশন ব্যবহার করে সংখ্যার জন্য একটি নির্দিষ্ট সীমা নির্ধারণ করা যায়, যেমন একটি ইনপুটের মান অবশ্যই ১ থেকে ১০০ এর মধ্যে হতে হবে।

    উদাহরণ:

    @Property
    @Range(min = 1, max = 100, message = "Age must be between 1 and 100")
    private int age;
    
  6. @MaxSize এবং @MinSize
    • @MaxSize এবং @MinSize অ্যানোটেশন ব্যবহার করে আপনি ফাইল আপলোডের ক্ষেত্রে একটি ফাইলের সর্বোচ্চ এবং সর্বনিম্ন আকার নির্ধারণ করতে পারেন।

কাস্টম ভ্যালিডেশন তৈরি করা

Tapestry আপনাকে কাস্টম ভ্যালিডেশন তৈরি করার সুযোগ দেয়। আপনি একটি ভ্যালিডেশন ক্লাস তৈরি করতে পারেন এবং @Validate অ্যানোটেশন ব্যবহার করে সেটি প্রোপার্টিতে প্রয়োগ করতে পারেন।

  1. Custom Validator Class:
package com.example.validators;

import org.apache.tapestry5.validator.AbstractValidator;
import org.apache.tapestry5.validator.ValidationException;

public class CustomValidator extends AbstractValidator {
    @Override
    public void validate(Object value, String message, ValidationException exception) {
        String input = (String) value;
        if (input != null && input.length() < 5) {
            exception.addValidationError(message); // Custom error message
        }
    }
}
  1. Custom Validator ব্যবহার করা:
@Property
@Validate(CustomValidator.class)
private String customField;

এখানে, যদি customField এর মান ৫টি ক্যারেক্টারের চেয়ে ছোট হয়, তাহলে এটি একটি ত্রুটি তৈরি করবে।


Tapestry তে ভ্যালিডেশন ত্রুটি বার্তা এবং আউটপুট

Tapestry অটোমেটিকভাবে ফর্ম সাবমিশন এবং ভ্যালিডেশন চেকের পর ত্রুটি বার্তা দেখাবে। আপনি এটি কাস্টমাইজ করতে পারেন যাতে আরও স্পষ্ট বার্তা প্রদর্শিত হয়। সাধারণত, ফর্ম ভ্যালিডেশন ত্রুটির বার্তা <t:form> এর মধ্যে প্রদর্শিত হয়।

উদাহরণ:

<t:form t:id="userForm">
    <t:textfield t:id="username" value="username" />
    <t:passwordfield t:id="password" value="password" />

    <t:button value="Submit" t:id="submitButton"/>

    <!-- Display validation error messages -->
    <t:message t:id="errorMessage" for="username"/>
    <t:message t:id="errorMessage" for="password"/>
</t:form>

এখানে:

  • <t:message> ট্যাগটি নির্দিষ্ট ইনপুট ফিল্ডের জন্য ত্রুটি বার্তা প্রদর্শন করতে ব্যবহৃত হয়। for অ্যাট্রিবিউটের মাধ্যমে আপনি যে ফিল্ডের জন্য ত্রুটি বার্তা দেখাতে চান তা নির্দিষ্ট করতে পারেন।

সারাংশ

Tapestry এর Validation Framework একটি শক্তিশালী এবং নমনীয় টুল, যা আপনাকে ফর্ম ডেটা যাচাই করতে সাহায্য করে। এতে বিভিন্ন বিল্ট-ইন ভ্যালিডেশন অ্যানোটেশন যেমন @Required, @Length, @Email, @Pattern, এবং @Range সহ কাস্টম ভ্যালিডেশন তৈরি করার সুবিধা রয়েছে। Tapestry ভ্যালিডেশন আপনাকে সহজে এবং কার্যকরভাবে ফর্ম ডেটার বৈধতা যাচাই করতে সহায়তা করে এবং ত্রুটি বার্তা দেখানোর প্রক্রিয়াকে সহজ করে তোলে।

Content added By
Promotion